import { NgModule } from '@angular/core';
import { CommonModule } from '@angular/common';
import { ElClassDirective } from './directives/index';
import { ExDynamicService, DocumentWrapper, WindowWrapper } from '../shared/services/index';
import { ElCSSValuePipe } from './pipe/index';

/**
 * @return {?}
 */
export function getDocument() { return document; }
/**
 * @return {?}
 */
export function getWindow() { return window; }

@NgModule({
  declarations: [ElCSSValuePipe,ElClassDirective],
  imports: [
    CommonModule
  ],
  providers:[
    ExDynamicService,
    ElCSSValuePipe,
    { provide: DocumentWrapper, useFactory: getDocument },
    { provide: WindowWrapper, useFactory: getWindow },
  ],
  exports: [ElCSSValuePipe,ElClassDirective]
})
export class ElSharedModule { }
